#define _CRT_SECURE_NO_WARNINGS 1
//#include<stdio.h>
//int main()
//{
//	char c = 'A';
//	if ('0' <= c <= '9') printf("YES");
//	else printf("NO");
//	return 0;
//}
//#include<stdio.h>
//int main()
//{
//	int n = 1001;
//	int ans = 0;
//	for (int i = 1; i <= n; ++i)
//	{
//		ans ^= i % 3;
//	}
//	printf("%d", ans);
//	return 0;
//}
//#include<stdio.h>
//int fun(char* s)
//{
//	char* t = s;
//	while (*t++);//1
//	return(t - s);//2
//}
//int main()
//{
//	char a[10] = "abcdef";
//	char b[10] = "abc";
//	printf("%d\n", fun(a));
//	printf("%d\n", fun(b));
//}
//#include<stdio.h>
//int main()
//{
//	float a[3] = { 1.5,2.5,3.5 }, * pa = a; *(pa++) *= 3;
//	printf("%f", *pa);
//}
#include <stdio.h>
int main() {
	long long int a = 0; long long int b = 0;
	scanf("%lld %lld", &a, &b);

	while (b)
	{
		long long int tmp = b;
		b = a % b;
		a = tmp;
	}
	printf("%lld", a);
	return 0;
}